package org.springblade.modules.sga.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.policy.entity.Policy;
import org.springblade.modules.sga.vo.SgaHotPolicyVO;
import org.springblade.modules.sga.vo.SgaPolicyVO;
import org.springblade.modules.sga.vo.SgaRelatedPolicyVO;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface ISgaPolicyService extends BaseService<Policy> {

	List<SgaPolicyVO> selectTop(int top);

	List<SgaHotPolicyVO> selectTopHot(int top);

	SgaPolicyVO getById(Long id);

	void increaseViewCount(Long id);

	IPage<SgaPolicyVO> selectPage(IPage<SgaPolicyVO> page, Integer policyType, Long levelId, Character industryType, String policyName);

	IPage<SgaPolicyVO> selectPushPage(IPage<SgaPolicyVO> page, Boolean isPrecisePush, String enterpriseSpecial);

	Integer countPolicy();

	List<SgaRelatedPolicyVO> selectRelatedPolicy(String policyIds);

	Object getEnvironmentSymbol(String certificateNumber,String enterpriseName,String unifyCode);

	String getToken(Map<String, String> content)throws Exception;
	String getQrCode(String token,String transactorName,String transactorIdCard) throws Exception;
	String getAuthCode(String token,String qrCode) throws Exception;
	String getCertificateList(String token,String authCode)throws Exception;
	void downloadFileByPolicyService(String certificateIdentifier,String authCode,String token, HttpServletResponse response)throws Exception;
	String getBase64(String certificateIdentifier,String authCode,String token)throws Exception;
}
